package edu.iss.javaproject.service;

import java.util.List;





import edu.iss.javaproject.model.LeaveRecord;
import edu.iss.javaproject.model.PublicHolidays;
import edu.iss.javaproject.model.Users;
import edu.iss.javaproject.exception.LeaveNotFoundException;
import edu.iss.javaproject.exception.UserNotFoundException;

public interface LAPService {
	
	public void save(Users user);
	public void save(LeaveRecord leaveRecord);
	public void save(PublicHolidays publicHolidays);
	public void update(Users user);
	public void update(LeaveRecord leaveRecord) throws LeaveNotFoundException;
	public void update(PublicHolidays publicHolidays);
	public Users findByID(int id) throws UserNotFoundException;
	public List<LeaveRecord> findByUserID(int id) throws LeaveNotFoundException;
	public LeaveRecord findByrefNO(int refNO) throws LeaveNotFoundException;
	public List<Users> findAllUsers();
	public List<LeaveRecord> findAllLeaveRecords();
	public List<PublicHolidays> findAllPublicHoliday();
	public void deleteUser(Users users) throws UserNotFoundException;
	public void deleteLeave(LeaveRecord leaveRecord) throws LeaveNotFoundException;
	public void deletePublicHoliday(PublicHolidays publicHolidays);
	public int updateLeave(LeaveRecord record);
	public List<LeaveRecord> findAllLeaveRecordsByManagerID(int managerid);
	

}
